package zhr.chapter7;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.TreeMap;

//先输入一段话（限英文数字均可不少于三个单词，有标点），请将该段落中所有的单词按照A-Z的顺序，并将每个单词出现的频次输出。
public class apiZuoYe {
    public static void main(String[] args) {
        //用户输入
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入一段话（限英文数字均可不少于三个单词，有标点）：");
        String input = scanner.nextLine().toLowerCase();
        scanner.close();
        // 清洗文本并分割成单词
        String[] words = input.replaceAll("\\W+", " ").split(" ");
        // 使用HashMap Key作为单词 Value统计出现频次
        Map<String, Integer> map = new HashMap<>();
        for (String word : words) {
            if (!word.isEmpty()) {
                map.put(word, map.getOrDefault(word, 0) + 1);
            }
        }
        // 使用TreeMap按字母顺序排序
        Map<String, Integer> sortedMap = new TreeMap<>(map);

        // 输出结果
        for (Map.Entry<String, Integer> entry : sortedMap.entrySet()) {
            System.out.println(entry.getKey() + ": " + entry.getValue()+"次");
        }
    }
}
